A number of years ago, the automotive industry was seeking a solution to the problem of the proliferation of wiring in automotive systems as the complexity of automotive controls was increasing. The number of electronic devices having the need to communicate with each other and with a central processor increased dramatically as antilock braking systems and traction controls become commonplace in vehicles. Often, several control devices needed access to the same process inputs, and accessing these inputs individually by the control devices was not practical. To simplify the communication of information among sensors, controllers, and displays, the automotive industry established the Controller Area Network (CAN) for communication of automotive data along a two wire, high speed data bus.
While CAN is a standard in widespread use, many other similar standards exist. A standard version of CAN is the CAN J-1939 standard designed for heavy trucks and off-highway vehicles. This standard sets forth a two-wire network topology. One of the wires is a CAN_H or CAN high wire and one of the wires is a CAN_L or CAN low wire. To reduce the effects of noise on the communications bus, a CAN network is a differential network that places a dominant bus condition on the network when CAN_H is at least 0.9 volts higher than CAN_L. A recessive bus condition is detected on the network when CAN_H is not higher than 0.5 volts above CAN_L. The nominal voltage on the line in the dominant state is 3.5 volts for CAN_H and 1.5 volts for CAN_L. The CAN network should also be galvanically isolated from the various sensors and controllers attached to the network.
Devicenet is a variation on the CAN network that provides for a four-wire communications bus. In addition to the standards described above for the CAN J-1939 standard, the Devicenet provides a Power and a Ground voltage on the additional two wires. A Devicenet must provide at least 500 volts of galvanic isolation in addition to electrical isolation.
ISO J-11783 is a variation of the CAN network that provides for a four-wire communications bus. In addition to the standards described for the J-1939 standard, the J-11783 standard provides reference voltage levels on the additional two wires. The J-11783 standard requires fault tolerance such that if one of the two data wires is opened or grounded, the network will continue to operate.
The J-1939, Devicenet, and ISO J-11783 standards are all passive networks. In other words, the differential voltage between the CAN_H and CAN_L signals will drift towards zero in the recessive state, but is not pulled to zero. In addition, the DC value of the high and low signal may drift anywhere between about one and four volts.
RS-485 is one type of differential network that utilizes an active network. The differential values on the high and low signals are pushed low or pulled high, but the current is limited to keep the voltage in the zero to five volt range. Modbus is one type of RS-485 network that offers galvanic isolation.
Another active differential network is the CAT datalink. In CAT datalink, resistors are used to tie the high/low line to either +5 volts or ground in order to effectuate a complete reversal of voltage when the bus is placed in a recessive state. In other words, instead of merely letting the high and low lines drift to a common voltage following the transition from a dominant to a recessive state, the CAT datalink actually reverses the differential voltage.
Because each of these differential networks has slightly different requirements, interfaces have generally been built specific to the type of differential network being utilized. For example, CAT datalink interfaces were designed specifically for CAT datalink buses, and J-1939 interfaces were designed for J-1939 buses. However, it is not cost efficient to build interfaces for devices that are specific to each individual network. An interface is needed that can communicate to a number of these devices without manual reconfiguration.
Peter Hanf describes a CAN interface with enhanced fault tolerance in U.S. Pat. No. 6,115,831, titled “Integrated Circuit for Coupling a Microcontrolled Control Apparatus to a Two-Wire Bus.” Hanf discloses a circuit for interfacing to a CAN device that can communicate despite the presence of a bus fault, thus meeting the CAN standard and the J-11783 standard. Upon detection of a bus fault, the circuit generates a fault signal and alters the termination characteristics of the circuit to continue to operate in the presence of a fault. However, while fault tolerance is provided by the circuit, the circuit is not designed to interface with a great variety of bus designs.